package org.luxor.commons.core.utils.verify;

import org.apache.commons.lang.StringUtils;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @author HabenChan @date 2018/5/31.
 */
public class SpecialCharUtils {
    static String regEx = "[ _`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~！@#￥%……&*（）——+|{}【】‘；：”“’。，、？]|\n|\r|\t";

    /**
     * 判断是否含有特殊字符
     *
     * @param str
     * @return true为包含，false为不包含
     */
    public static boolean isSpecialChar(String str) {
        if (StringUtils.isNotBlank(str)) {
            Pattern p = Pattern.compile(regEx);
            Matcher m = p.matcher(str);
            return m.find();
        }
        return false;
    }

    /**
     * 过滤特殊符字符
     *
     * @param str
     * @return
     */
    public static String escapeExprSpecialChar(String str) {
        return str.replace(str, "\\" + str);
    }
}
